fix: fix timezone issues for getMonths function #818
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request addresses issue #817
The date used to map the array of month numbers should not have explicitly set timezone in its ISO 8601 string, because in timezones like
America/Sao_Paulo
which has a negative offset of-3
hours, all dates will be computed one day earlier, eg:Sat Dec 31 2016 22:00:00 GMT-0200 (Horário de Verão de Brasília)
This will make the array of months to be something like:
['December', 'January', 'February', ..., 'November']
, making a buggy behaviour inDatePicker
andMonthPicker
components.I think the best way is to remove the timezone from the string and the timezone from the
Intl.DateTimeFormat
constructor, thus defaulting to the system timezone.Also as I was running the tests in a negative offset, I made some adjustments to the
timezone.spec.ts
tests.